package com.wootion.cims.module.communityresidence.residencelist.service;
import com.wootion.cims.module.communityresidence.residencelist.dto.ResidencePageQuery;
import com.wootion.cims.module.communityresidence.residencelist.dto.ResidenceDto;
import com.wootion.cims.module.communityresidence.residencelist.excel.ResidenceExcel;
import com.wootion.cims.response.ResponseResult;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @Author: LanQiang
 * @Date: 2022/12/08/16:04
 * @Description: 作用xxx
 */
public interface ResidenceService {
    /**
     * 查询社区分组信息
     * @return
     */
    ResponseResult groupByCommunity();
    /**
     * 根据社区id，查询小区分组信息
     * @return
     */
    ResponseResult groupByPlot(String communityId);
    /**
     * 根据小区id，查询小区的楼栋和单元信息
     * @return
     */
    ResponseResult groupByPlotBuilding(String plotId,String category);
    /**
     * 根据小区id和详细地址获取，当前地址下的所有门牌号
     * @param residenceDto
     * @return
     */
    ResponseResult groupByHouseNumber(ResidenceDto residenceDto);
    /**
     * 查询业主信息
     */
    ResponseResult findByPerson(Integer page,Integer limit,String condition);
    /**
     * 新增住宅
     * @return
     */
    ResponseResult save(ResidenceDto residenceDto, HttpServletRequest request);
    /**
     * 修改住宅
     * @return
     */
    ResponseResult update(ResidenceDto residenceDto,HttpServletRequest request);
    /**
     * 根据id，删除(批量删除)住宅列表
     * @param ids
     * @return
     */
    ResponseResult delete(List<String> ids);
    /**
     * 查询住宅列表信息/或条件查询,并分页返回
     * @param pageQuery
     * @return
     */
    ResponseResult findListResidence(ResidencePageQuery pageQuery);
    /**
     * 双击查看社区列表中的详情信息
     * @param id
     * @return
     */
    ResponseResult findByCommunityId(String id);
    /**
     * 批量添加楼房,平房/别墅
     * @return
     */
    ResponseResult batchSave(ResidenceDto residenceDto,HttpServletRequest request);
    /**
     * 导出选中的住宅列表
     * @param residenceExcel
     * @return
     */
    ResponseResult residentialExcel(ResidenceExcel residenceExcel);
}
